package com.hs.service.impl;

import com.hs.dao.UserDao;
import com.hs.dao.impl.UserDaoImpl;
import com.hs.pojo.User;
import com.hs.service.UserService;
import com.hs.util.Md5Util;
import com.hs.util.Page;

import java.util.List;

//业务逻辑层  M
public class UserServiceImpl implements UserService {
    //全局的成员变量
    UserDao userDao=new UserDaoImpl();

    @Override
    public int login(String username, String password) {
        //引入dao的处理
        UserDao userDao=new UserDaoImpl();
        //调用查询功能
        User user = userDao.SelectByUsername(username);
        //判断处理
        if(user == null){
            return 1;
        }
        //密码不对  密码是使用md5加密的
        try {

            if (!Md5Util.encodeByMd5(password).equals(user.getPassword())){
                return 2;
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
        //登陆成功
        return 0;
    }

    @Override
    public Page<User> selectUsers(int pageNum) {
        //定义每页显示的条数
        int pageSize =2;
        UserDao userDao=new UserDaoImpl();
        int count = userDao.selectCount();
        //创建page对象 自动进行计算处理
        Page<User> page=new Page<>(pageNum,pageSize,count);
        //分页查询用户信息
        List<User> users = userDao.selectUsers(page.getStartIndex(),pageSize);
        //把对象集合封装到page对象中
        page.setList(users);
        //返回page对象
        return page;
    }

    @Override
    public int insertUser(User user) {
        int add = userDao.insertUser(user);
        return add;
    }

    @Override
    public User SelectUserById(int id) {
        return userDao.SelectUserById(id);
    }

    @Override
    public int updateUser(User user) {
        return userDao.updateUser(user);
    }

    @Override
    public int deleteUser(int id) {
        return userDao.deleteUser(id);
    }
}
